package robots.models;

import java.util.ArrayList;
import java.util.List;
import robots.domain.Jugador;
import robots.domain.Robot;

@SuppressWarnings("serial")
public class JugadorAppModel extends RobotsModel {

	private List<Jugador> jugadores = new ArrayList<Jugador>();
	private Jugador sistema = new Jugador("Sistema", 0);
	private Jugador jugador;
	
	private String compraVentaReparacionMejoraRespuesta;
	private String respuestaDeCompetir;

	// Constructor
	public JugadorAppModel() {
		crearEscenario();
	}

	private void crearEscenario() {
		// Crear al Jugador Damian
		Jugador jugador1 = new Jugador("Damian", 20);
		List<Robot> robotsJugador1 = new ArrayList<Robot>();
		Robot robocop = new Robot("Robocop", 20, jugador1);
		robocop.aumnetarDanioEn(10);
		robotsJugador1.add(robocop);
		robotsJugador1.add(new Robot("Robotech", 50, jugador1));
		robotsJugador1.add(new Robot("Terminator1", 120, jugador1));
		jugador1.setRobots(robotsJugador1);
		this.getJugadores().add(jugador1);
		// Crear al Jugador Ariel
		Jugador jugador2 = new Jugador("Ariel", 20000);
		jugador2.agregarRobot(new Robot("Tiquitril", 50, jugador2));
		jugador2.agregarRobot(new Robot("Dramon", 12, jugador2));
		jugador2.agregarRobot(new Robot("Classic", 23, jugador2));
		this.getJugadores().add(jugador2);
		// Crear al jugador Sistema
		setSistema(new Jugador("Sistema", 0));
		getSistema().getRobots().add(new Robot("Robust", 70, null));
		getSistema().getRobots().add(new Robot("Stanley", 60, null));
		getSistema().getRobots().add(new Robot("Phillips", 60, null));
		getSistema().getRobots().add(new Robot("Josh", 60, null));
		getSistema().getRobots().add(new Robot("MrPepe", 60, null));
		this.getJugadores().add(sistema);
	}
	
	public Jugador buscarOCrearJugadorYAsignar(String nombreJugador) {
		Jugador jugador = buscarJugador(nombreJugador, getJugadores());
		if (jugador == null) {
			jugador = new Jugador(nombreJugador, 20000);
			getJugadores().add(jugador);
		}
		setJugador(jugador);
		return jugador;
	}

	
	public List<Robot> getRobotsContrincantes() {
		List<Robot> resultado= new ArrayList<Robot>();
		for(Jugador jug : this.getJugadores()){
			if(!jug.equals(jugador)){
				resultado.addAll(jug.getRobots());
			}
		}
		return resultado;
	}

	public List<Jugador> getJugadores() {
		return jugadores;
	}

	public void setJugadores(List<Jugador> jugadores) {
		this.jugadores = jugadores;
	}

	public Jugador getSistema() {
		return sistema;
	}

	public void setSistema(Jugador sistema) {
		this.sistema = sistema;
	}

	public void setJugador(Jugador jugador) {
		this.jugador = jugador;
	}

	public Jugador getJugador() {
		return this.jugador;
	}

	public List<Robot> getRobotsDelSistema() {
		return getSistema().getRobots();
	}

	public String getRespuestaDeCompetir() {
		return respuestaDeCompetir;
	}

	public void setRespuestaDeCompetir(String respuestaDeCompetir) {
		this.respuestaDeCompetir = respuestaDeCompetir;
	}

	public String getCompraVentaReparacionMejoraRespuest() {
		return compraVentaReparacionMejoraRespuesta;
	}

	public void setCompraVentaReparacionMejoraRespuest(String compraVentaRespuesta) {
		this.compraVentaReparacionMejoraRespuesta = compraVentaRespuesta;
	}
	
	
	
}
